[## Notation ************ This type of notation add data from request :class:`context` object to expressions. notation start with :class:`[##` and end with :class:`##]`. for example in:: My Id Is : [##cms.query.id##] Determine that value of :class:`cms.query.id` must be inject to expression in specific location. suppose value of :class:`id` key in :class:`query string` is Qam-12. after injection process by context, result is:: My Id Is : Qam-12 .. note:: [## Notation is case insensitive. If data contain more than one value, values presend in :class:`,` delimiter string of concated values. for example in:: Names : [##cms.query.names##] If :class:`query string` is :class:`names=ali&names=amir`, then result is:: Names : ali,amir In expression, we can :class:`OR` data source with :class:`|`. in this case in order from left to right, if specified deta source not found, engine try to find next data source. for example in:: First Question : [##cms.form.quiz1|cms.form.quiz2##] in above notation, if :class:`quiz1` represent in form data than posted to server, entire notation replace with it. if quiz1 not presented but class:`quiz2` exist, notation replace with class:`quiz2`. For : .. csv-table:: Posted Form Fields :header: "Name", "Value" :widths: 15, 30 "quiz1", "what is your name?" result is:: First Question : what is your name? For : .. csv-table:: Posted Form Fields :header: "Name", "Value" :widths: 15, 30 "quiz2", "where are you from?" result is:: First Question : where are you from? For : .. csv-table:: Posted Form Fields :header: "Name", "Value" :widths: 15, 30 "quiz1", "what is your name?" "quiz2", "where are you from?" result is:: First Question : what is your name? Also we can set default value at right must item in list of data source in :class:`()`. for example in case :: First Question : [##cms.form.quiz1|cms.form.quiz2##|(NotSet)] If nether :class:`quiz1` nor :class:`quiz2` peresent in posted form result is:: First Question : NotSet